package com.atom.annotation.bean;

public class ApiImplWrapper<T> {

    public final Class<T> apiClass;
    public final Class<? extends T> implClass;
    public final String name;
    public final long version;

    public ApiImplWrapper(Class<T> apiClass, Class<? extends T> implClass, String name, long version) {
        this.apiClass = apiClass;
        this.implClass = implClass;
        this.name = name;
        this.version = version;
    }

    public Class<T> getApiClass() {
        return apiClass;
    }

    public Class<? extends T> getImplClass() {
        return implClass;
    }

    public String getName() {
        return name;
    }

    public long getVersion() {
        return version;
    }

    @Override
    public String toString() {
        return "\nApiImplWrapper{" +
                "apiClass=" + apiClass +
                ", implClass=" + implClass +
                ", name='" + name + '\'' +
                ", version=" + version +
                '}';
    }
}
